#include<stdio.h>
#include<unistd.h>
#include<signal.h>

int main()
{
	printf("父进程正在执行......\n");
	pid_t fpid1, fpid2;

	if (fpid1 < 0)
		printf("进程创建失败！\n");
	else if (fpid1 == 0)
		printf("子进程1正在执行，pid = %d。\n", getpid());
	else
	{
		printf("父进程正在执行......\n");
		fpid2 = fork();
		if (fpid2 < 0)
			printf("进程创建失败！\n");
		else if (fpid2 == 0)
			printf("子进程2正在执行，pid = %d。\n", getpid());
		//else no other output
	}

	sleep(1);
	printf("子进程1被父进程杀死。\n");
	kill(fpid1, SIGINT);

	printf("子进程2被父进程杀死。\n");
	kill(fpid2, SIGINT);
	
	//父进程没有被杀死，是自然结束的。
	printf("父进程结束。\n");

	return 0;
}